package online.heycm.rbac.param.user;

import java.io.Serializable;
import java.util.Set;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;
import online.heycm.platform.web.common.annotation.EncryptField;

/**
 * @author heycm
 * @since 2024/1/21 16:19
 */
@Data
public class UserEditReq implements Serializable {

    private static final long serialVersionUID = -4231588948440499600L;

    /**
     * 用户ID
     */
    @NotNull
    private Integer userId;

    /**
     * 用户姓名
     */
    @EncryptField
    private String username;

    /**
     * 用户手机
     */
    private String phone;

    /**
     * 用户身份证
     */
    private String idCard;

    /**
     * 用户昵称
     */
    private String nickname;

    /**
     * 用户备注
     */
    private String remark;

    /**
     * 用户状态：0-禁用 1-正常
     */
    @Max(1)
    @Min(0)
    private Integer sts;

    /**
     * 用户角色
     */
    @NotNull
    @Size(min = 1)
    private Set<Integer> roleIds;

    /**
     * 登录密码
     */
    private String authCredential;
}
